package IO流;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;

/*
    打印流
         实现将基本数据类型的数据格式转化为字符串输出
         打印流:PrintStream和PrintWriter
             提供了一系列重载的print()和println()方法,用于多种数据类型的输出
             PrintStream和PrintWriter的输出不会抛出IOException异常
             PrintStream和PrintWriter有自动flush功能
             PrintStream 打印的所有字符都使用平台的默认字符编码转换为字节
                在需要写入字符而不是写入字节的情况下,应该使用 PrintWriter类
             System.out返回的是PrintStream的实例
 */
public class IO06 {

    public static void main(String[] args) {
        PrintStream ps = null;
        try {
            FileOutputStream fos = new FileOutputStream(new File("E:\\FileTest\\text.txt"));
            // 创建打印输出流,设置为自动刷新模式(写入换行符或字节 '\n' 时都会刷新输出缓冲区)
            ps = new PrintStream(fos, true);

            // 把标准输出流(控制台输出)改成文件
            if (ps != null) {
                 System.setOut(ps);
            }

            for (int i = 0; i <= 255; i++) { // 输出ASCII字符
                System.out.print((char) i);
                if (i % 50 == 0) {  // 每50个数据一行
                    System.out.println();// 换行
                }
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } finally {
            if (ps != null) {
                ps.close();
            }
        }
    }
}
